Traditionally, popular forms of communications over data networks include electronic mail, file transfer, web browsing, and other exchanges of data. With the increased bandwidth and speed of data networks, communications of voice and other forms of real-time interactive data have also become possible. Transmissions of real-time interactive data are more sensitive to network delays than traditional data communications, such as electronic mail, file transfer, web browsing, and so forth. Because of the real-time nature of such communications, any substantial delay in the transport of the data over the network may be noticeable at the receiving end. For example, with voice communications, network delays may result in silence, clipping, or other undesirable effects at the receiving terminal.
Various different types of data networks exist, including local area networks (LANs), wide area networks (WANs), the Internet, and so forth. Generally, a LAN provides higher communication speeds than WANs or the Internet due to the shorter network links and closer proximity of the network elements. A popular LAN technology is the 802.3 Standard from the Institute of Electrical and Electronics Engineers (IEEE), sometimes referred to as the “Ethernet.”
Multiple nodes or terminals may be connected to an Ethernet network. To prevent contention between the terminals on the Ethernet network, a carrier sense multiple access with collision detection (CSMA/CD) mechanism is used. Terminals employing CSMA/CD listen to the cable that forms part of the Ethernet network to detect the presence of a carrier signal from another terminal. If another terminal is not using the network, any of the terminals connected to the Ethernet network can transmit data onto the network at will. In the event that two terminals are attempting to transmit on the network at the same time, or even during overlapping time intervals, a collision occurs. If a terminal detects a collision, it stops the transmission and backs off from accessing the network for a predetermined period of time.
The IEEE 802.3 Standard defines an exponential backoff algorithm, in which the terminal selects a time period to wait before retransmitting. The time period is chosen at random so it is likely that terminals that have collided will choose different time periods. After experiencing the nth collision in a row for a given frame, a terminal chooses a value for K at random from [0, 1, 2, . . . , 2m−1], where m is equal min(n, 10). The terminal then waits K slot times (each slot time about 51.2 microseconds) before retransmitting. Thus, in an example, if a terminal attempts for the first time to transmit a frame and detects a collision, the terminal chooses K with equal probability from the group [0, 1]. If the terminal chooses K=0, then the terminal immediately retransmits the frame. However, if K=1, then the terminal waits about 51.2 microseconds (one slot time) before retransmitting the frame. After a second collision, K is chosen with equal probability from [0, 1, 2, 22−1]. After three collisions, K is chosen with equal probability from the group [0, 1, 2, 3, 4, 5, 6, 23−1]. After ten or more collisions, K is chosen with equal probability from [0, 1, 2, . . . 210−1]. Thus, the size of the sets from which K can be chosen grows exponentially with the number of collisions in the exponential backoff algorithm.
The exponential growth in backoff delay on an Ethernet network may cause sub-optimal performance of voice and other real-time interactive communications over the Ethernet network. When compared to other forms of communications over a data network, real-time interactive communications generate a relatively small volume of data flow. However, the flow of such data is sensitive to delay. Thus, for example, if a large file is being transferred over the Ethernet network, the transfer of such data frames may cause a relatively large amount of collisions with frames carrying data associated with real-time interactive communications. As a consequence, the terminal involved in the real-time interactive communications may experience relatively large delays, due to collisions and exponential backoff, which may cause degradation of the real-time interactive communications. As the number of terminals connected to the Ethernet network increases, this problem is exacerbated because of the increase in volume of data communications.
A need thus exists for an improved method and apparatus for providing access to a network, such as an Ethernet network.